package com.itlong.cloud.property.service;

import com.itlong.cloud.POJO.DTO.property.PropertyInspectOperateDTO;
import com.itlong.cloud.POJO.VO.property.PropertyInspectOperateVO;
import com.itlong.cloud.utils.page.Page;

import java.util.List;

/**
 * <desc>
 *      巡检操作服务接口
 * </desc>
 *
 * @createDate 2019/12/26
 */
public interface IPropertyInspectOperateService {

    /**
     * <desc>
     *      列表查询历史数据信息
     * </desc>
     *
     * @return 列表数据
     * @author wangzhi
     * @createDate 2019/12/26
     */
    Page<PropertyInspectOperateVO> getHistoricalDataPage(PropertyInspectOperateDTO propertyInspectOperateDTO) throws Exception;

    /**
     * <desc>
     *      列表查询巡检报告数据信息
     * </desc>
     *
     * @return 列表数据
     * @author wangzhi
     * @createDate 2019/12/30
     */
    Page<PropertyInspectOperateVO> getReportPage(PropertyInspectOperateDTO propertyInspectOperateDTO) throws Exception;

    /**
     * <desc>
     *      查询统计数据信息
     * </desc>
     *
     * @return 统计数据信息
     * @author wangzhi
     * @createDate 2020/01/02
     */
    List<PropertyInspectOperateVO> getStatisticsData(PropertyInspectOperateDTO propertyInspectOperateDTO) throws Exception;

    /**
     * <desc>
     *      巡检日历列表查询
     * </desc>
     *
     * @return 巡检日历列表
     * @author wangzhi
     * @createDate 2020/01/06
     */
    Page<PropertyInspectOperateVO> getCalendarPage(PropertyInspectOperateDTO propertyInspectOperateDTO) throws Exception;

    /**
     * <desc>
     *      查看巡检日历数据信息详情
     * </desc>
     *
     * @return 巡检日历数据信息详情
     * @author wangzhi
     * @createDate 2020/01/06
     */
    Page<PropertyInspectOperateVO> getCalendarDetails(PropertyInspectOperateDTO propertyInspectOperateDTO) throws Exception;

    /**
     * <desc>
     *      报警数据列表查询
     * </desc>
     *
     * @return 报警数据列表
     * @author wangzhi
     * @createDate 2020/01/07
     */
    Page<PropertyInspectOperateVO> getAlarmPage(PropertyInspectOperateDTO propertyInspectOperateDTO) throws Exception;
}
